מבוא לתכנות ב- JAVA מעבדה 2

Similar documents
משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

מבוא למדעי המחשב תירגול 3:

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

קורס תכנות שיעור שני: שימוש במשתנים,

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

מבוא לתכנות ב- JAVA תרגול 7

Algorithms. Intro2CS week 5

מבוא לתכנות ב- JAVA מעבדה 4

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

הנכות 1 םוכיס לוגרת 13 1

תוכנה 1 טיפוסי השפה טיפוסים לא פרימיטיביים הטיפוסים הפרימיטיביים מחרוזות המרה למספרים תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

תרגילים ופתרונות בשפת - C הסתעפויות

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3

מבוא למדעי המחשב תרגול 13: עצים בינאריים

חוברת תרגילים לתרגול יסודות התכנות

Practical Session - Heap

הנכות 1 םוכיס לוגרת 14 1

תוכנה 1 סמסטר א' תשע"א

הנכות 1 םוכיס לוגרת 13 1

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

רזח יליגרתו םי יראני ב ם

Amortized Analysis, Union-Find,

הנכות 1 םוכיס לוגרת 13 1

Important Java terminology

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

תוכנה 1 תרגול מספר 13

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

תוכנה 1 תרגול מספר 13

מבוא לתכנות ב- JAVA תרגול 6

Engineering Programming A

תוכנה 1 תרגול 2: מערכים ומבני בקרה

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

תרגול 3 מערכים ופונקציות

Computer Programming Summer 2017

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת

תרגול מספר 3: מערכים

תרגול 3 מערכים ופונקציות

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

קורס תכנות שיעור שישי: מחרוזות, מצביעים

שאלה 1 מהו הפלט של התוכנית הבאה:

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService {

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור &

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת

תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

Introduction to Programming in C תרגול 8

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

תרשים המחלקות ותרשים העצמים

נוסחאון במיקרו בקר 8051 לכיתה י"ג נוסחאון בשפת ASM 51 מקום למדבקת נבחן אין להעביר את הנוסחאון לנבחן אחר המשך בעמוד 2

Computer Programming תרגול 6 פונקציות

דף הדרכה ליצירת שרת/ לקוח עם GUI

תכנות מתקדם בשפת C משתנים

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי.

תוכנה 1 * לא בהכרח בסדר הזה

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

Introduction to Computer Science Unit 2. Notes

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף :

Loops. CSE 114, Computer Science 1 Stony Brook University

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

Programming in C תרגול 8

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** *******************************

תרגילים ופתרונות בשפת C

Programming for Engineers in Python

Programming for Engineers in Python

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

תור שימושים בעולם התוכנה

Graph Database, think different!

שאלה 1, סעיף ב )11 נק'(

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

Java Classes: Math, Integer A C S L E C T U R E 8

Midterm Examination (MTA)

גירסה

Introduction to Computer Science Unit 2. Notes

Tutorial 03. Exercise 1: CSC111 Computer Programming I

Tutorial 10. Introduction to C++ שימו

Programming with Java

Practical Session No. 14 Topological sort,amortized Analysis

AP COMPUTER SCIENCE A

Smart Pointers Nir Adar

תוכנה 1 * לא בהכרח בסדר הזה

Fundamentals of Programming Data Types & Methods

Transcription:

מבוא לתכנות ב- JAVA מעבדה 2

מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else

בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1 טיפוסים לייצוג מספרים שלמים- byte, short, int, long דוגמא: long longnum, longnum2; byte bytenum = 125; longnum = 1234567890; double doublenum; doublenum = 3.75;.2 טיפוסים ממשיים: double, float דוגמא:.3 אופרטורים אריתמטיים: % /, *, -, :+,

דוגמה public class OperatorsExample { public static void main(string[] args) { int a = 5; int b = a / 2; double c = 5.0; double d = c / 2.0; System.out.println( b = " + b); System.out.println( d = " + d); מה יודפס?

תרגיל לפניכם קטע קוד לקליטת 3 מספרים מהמשתמש. העתיקו אותו והשלימו אותו כך שיודפס למסך סכום ספרות האחדות של המספרים שנקלטו import java.util.scanner; public class Ex2 { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextint(); int y = sc.nextint(); int z = sc.nextint(); קוד לקליטת שלושה מספרים מהמשתמש int sol = (x % 10) + (y%10)+ (z%10); System.out.println("The השלימו את הקוד כאן solution is "+sol); דוגמא: אם נקלטו המספרים 511,23,177 אזי המספר שיודפס למסך הוא 11

המרת טיפוס )Casting( לכל משתנה ב Java יש טיפוס ספציפי. מה קורה כאשר מערבים טיפוסים שונים בביטוי? במקרים מסוימים Java מטפלת בטיפוסים השונים באופן אוטומטי ובפעמים אחרות אנחנו חייבים לבצע המרה מפורשת של טיפוס נתונים אחד לאחר. 6

המרת טיפוס אוטומטית Implicit (Automatic) Casting כאשר מרכיבי הביטוי הינם מטיפוסים שונים הביטוי המתקבל יהיה מהטיפוס של המרכיב הכולל ביותר. הסדר של טיפוסים המספרים מן הפחות כולל לכולל ביותר הינו:.byte, short, int, long, float, double עובד אחרת בהתאם לטיפוסים עליהם הוא מופעל. 5.0/2 --> 2.5 5.0/2.0 --> 2.5 5/2.0 --> 2.5 5/2 --> 2 האופרטור / 7

המרת טיפוס אוטומטית ניתן לבצע המרת טיפוס ע"י שימוש בפעולת השמה. הביטוי הימני עובר המרה לטיפוס של המשתנה המופיע בצד שמאל של ההשמה. int i = 5; double d; d = i; // d is 5.0 המרה כזו אפשרית רק כאשר הטיפוס של המשתנה בצד שמאל יותר מהטיפוס של הביטוי בצד ימין. כללי 8

המרת טיפוס מפורשת Explicit Casting במקרה ההפוך, כאשר הטיפוס של המשתנה בצד שמאל כללי פחות מהטיפוס של הביטוי בצד ימין, נשתמש באופרטור ה type.(<type>) :cast double d = 5.3; int i ; i = (int) d; // i is 5 שימוש נוסף באופרטור ה type cast הוא כאשר רוצים למנוע איבוד של חלק השבר בחלוקה של מספרים שלמים: double d; int x = 5, y = 2 ; d = ((double) x)/y; d = (double) x/y; 9

טיפוסים פרימיטיביים נוספים 3. טיפוסים לוגיים הטיפוס הלוגי נקרא.boolean או.false משתנים מטיפוס זה בעלי ערך true boolean indicator; indicator = true; 4. תווים תו:.char סימן בודד התחום בגרשיים בודדות )למשל, 'A','a'(. לפני סימן מיוחד יש תו backslash )למשל, 'n\' tab,newline ) backspace '\b', '\t' char capitaln; capitaln = 'N'; 10

אופרטורים יחסיים Java יש 6 אופרטורים המשווים בין שני מספרים ונותנים תשובה בוליאנית.)false או true( ב Operator Name Description x < y Less than true if x is less than y, otherwise false. x > y Greater than true if x is greater than y, otherwise false. x <= y x >= y Less than or equal to Greater than or equal to true if x is less than or equal to y, otherwise false. true if x is greater than or equal to y, otherwise false. x == y Equal true if x equals y, otherwise false. x!= y Not Equal true if x is not equal to y, otherwise false. 11

דוגמה import java.util.scanner; public class RelationalOp { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); int x = sc.nextint(); System.out.print("Enter the second number:"); int y = sc.nextint(); boolean cmpgt = (x > y); boolean cmpeq = (x == y); boolean cmpneq = (x!= y) ; System.out.println( x is greater than y?" + cmpgt); System.out.println( x is equal to y?" + cmpeq); System.out.println( x is not equal to y?" + cmpneq); System.out.println( x is less than or equal y?" + (x <= y)); 12

אופרטורים לוגיים אופרטורים לוגיים פועלים על ערכים מטיפוס לוגי נותנים תשובה בוליאנית true( או.)false וגם )בוליאני( Operator Name Description x && y And True if both x and y are true, otherwise false. x y Or True if at least one of x or y are true, otherwise false.! x Not True if x is false, otherwise false. 13

דוגמה import java.util.scanner; // This program demonstrates logical operators. // It reads two integers from the user and checks if // they are larger than 10. public class LogicalOperators { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); int x = sc.nextint(); System.out.print("Enter the second number:"); int y = sc.nextint(); System.out.println("(y<10)&&(x<10) is " + ((y<10) && (x<10))); System.out.println("(y<10) (x<10) is " + ((y<10) (x<10))); boolean state; state = ((y < 10) (x < 10)); System.out.println("state is " + state); Enter the first number:10 Enter the second number:9 (y<10)&&(x<10) is false (y<10) (x<10) is true state is true 14

משפט if-else משפט if-else הוא מבנה בסיסי בשפה המאפשר לשלוט בזרימת התוכנית. למשפט זה יש שתי צורות: if (<condition>){ <statement> if (<condition>){ <statement> else { <alternative> 15

דוגמה ל- if import java.util.scanner; public class Triangle { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); double a = sc.nextint(); System.out.print("Enter the second number:"); double b = sc.nextint(); System.out.print("Enter the third number:"); double c = sc.nextint(); if ((a + b <= c) (a + c <= b) (b + c <= a)){ System.out.println("There is no triangle with these sides."); else{ System.out.println("There is a triangle with these sides."); 16

תרגיל 1 כתוב תוכנית המקבלת: 5 מספרים בסדר עולה a1,a2,,a5 כך ש a1 <= a2 <= a3 <= a4 <= a5 ערך לחיפוש x )מספר נוסף(. התוכנית תבדוק האם x הוא אחד מ- 5 המספרים שנקלטו ותדפיס פלט בהתאם. על התוכנית לבצע לכל היותר 4 פעולות השוואה במהלך הריצה!=( <=,, => >,, < )==, דוגמאות: עבור הקלט 1,2,3,4,5 ו- 2=x התוכנית תחזיר.true עבור הקלט 2,3,5,7,11 ו 4=x התוכנית תחזיר false

פתרון "פשוט" ולא עומד בדרישות import java.util.scanner; public class Exercise1{ public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.println("insert 5 numbers"); int a1 = sc.nextint(); int a2 = sc.nextint(); int a3 = sc.nextint(); int a4 = sc.nextint(); int a5 = sc.nextint(); System.out.println("choose value to search"); int x = sc.nextint(); boolean found = false; if (x == a1 x == a2 x == a3 x == a4 x == a5) found = true; System.out.println("answer is " + found);

פתרון נוכל לנצל את העובדה שהקלט ממויין. נשווה את x לערך האמצעי. a3 מקרה א: אם x < a3 אין צורך לבדוק בכלל האם או a2 שווה ל a1 x לכן נבדוק האם.x=a4,a5 מקרה ב: אחרת x הוא לפחות בגודל של a3 ולכן נותר לבדוק האם הוא שווה לa3,a4,a5 סה"כ: 4 השוואות לכל היותר

פתרון import java.util.scanner; public class Exercise1{ public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.println("insert 5 numbers"); int a1 = sc.nextint(); int a2 = sc.nextint(); int a3 = sc.nextint(); int a4 = sc.nextint(); int a5 = sc.nextint(); System.out.println("choose value to search"); int x = sc.nextint(); boolean found = false; if (x < a3){ if (x == a1 x == a2){ found = true; else if (x == a3 x == a4 x == a5){ found = true; System.out.println("answer is " + found);

תרגיל 2 כתבו תוכנית הקולטת 4 מספרים ומדפיסה את המספר השני הכי קטן. דוגמא: עבור הקלט 1,5,0-,3.הפלט שיודפס למסך הוא: Second minimum is 0

פתרון import java.util.scanner; public class Exercise2{ public static void main(string[] args){ Scanner sc = new Scanner(System.in); int a = sc.nextint(); int b = sc.nextint(); int c = sc.nextint(); int d = sc.nextint(); int min; int secondmin; if (a < b){ min = a; secondmin = b; else { min = b; secondmin = a; המשך בעמוד הבא

פתרון if (min > c){ secondmin = min; min = c; else if (secondmin > c){ secondmin = c; if (min > d){ secondmin = min; min = d; else if (secondmin > d){ secondmin = d; System.out.println("Second minimum is " + secondmin);